The present invention relates generally to electronic devices (nodes) that communicate over a Controller Area Network (CAN) bus, and, more particularly, to a slave node for a CAN bus network.
Today's automobiles include many electronic control units (ECUs) that gather and share data, such as ECUs for sensors (e.g., airbag sensors, anti-lock braking sensors, etc.), actuators (e.g., window and door locks), and entertainment and navigation systems. These ECUs typically communicate with each other using the CAN (Controller Area Network) bus. The CAN bus is a serial bus developed in the mid-1980s for in-vehicle networks in cars. The CAN bus is a multi-master bus system that assumes all nodes have a precise local oscillator source, which ensures that all the nodes are operating at the same effective baud rate, and can communicate without the need of a learning phase regarding the common bus speed. CAN busses also can be found in other embedded control applications, such as medical and test equipment and factory automation.
FIG. 1 shows a conventional CAN bus system 10 includes a plurality of nodes 12 connected together over a CAN bus 14. Each of the nodes 12 is a master, and includes an external crystal oscillator 16 as a clock source for generating an accurate, local clock signal. A highly accurate CAN clock signal is required to ensure that the communication speed and frequencies are similar across all nodes and all operating corners. Thus, clock reliability is an important constraint in any CAN/CAN FD bus system to achieve lossless communication across all functional operating corners.
However, requiring each node to have an external oscillator makes the nodes expensive. Accordingly, it would be advantageous to have a way to interconnect nodes on a CAN bus without requiring each node to have an external oscillator.